Skip to content

Software

The software that I use for my home lab is all OSS.
I have been using OOS since Debian v2.1 and are very fluent in this, the speed to which I can deliver services and solutions is based on OOS usage.

As most other people doing a home lab, it is for testing and playing around with different technologies. I have also been running most of this stack in production for multiple years.

Ceph

I have been working with ceph for many years, we first installed it in 2013 and have been running it ever since no outages or downtime. It have been very stable for us and have provided the storage for different private clouds first on opennebula and now for kubernetes.
I run Ceph as containers. I voted against using rook.io for it as there was some bugs in the way it handled node failure that I was not to happy about. It might have been fixed since but I did not want to migrate.
I use etcd for KV for ceph containers then I get immutable hardware for my setup.

I use all 3 ceph components:

  • block for strageClass in k8s for rwo
  • fs for strageClass in k8s that have rwa
  • radosgw for object storage

Kubernetes

For a long time I have been using docker to run things but also a lot in vm’s. In 2017 I started looking into k8s and have since then been moving my vm workloads to containers and k8s.
The great thing about k8s is that you can craft it in any way that you want and to fit your needs.

I run stuck kubernetes deployed with kubeadm with these components:

  • haproxy-ingress
  • certmanager
  • prometheus operator
  • ceph-rbd-provisioner
  • ceph-fs-provisioner
  • weave-net cni as it supports both arm and amd64 - would prefer calico but at the time I started out it did not support arm

Gitlab

I use gitlab for source code and ci/cd for all of my components running in k8s.
It is installed via helm and uses ceph rgw, and rbd for storage.

Nextcloud + collabora

I am a bit parinoed about where I store my images/docs etc so I have setup nextcloud and collabora to handle filesync and store.

There are a few components that I use.
* floccus - firefox bookmark sync to nextcloud bookmarks
* nextcloud talk app

Homeassistant

For home automation